$(function(){
	
	var table = $('.table').get(0);
	
	var tableHeader = table.innerHTML;
	
	var isEditable = false;
	
	if(adminID!=''){
		isEditable = true;
	};
	
	$.ajaxSetup({
		dataType:'JSON',
		error:function(){
			messageDialog('系统错误','与服务器交互出错');
		}
	});
	
	$('#loginSubmit').click(function(){
		if($('#loginInput').val().trim()==''||$('#passwordInput').val().trim()==''){
			messageDialog('非空提示','登录名和密码都必须填写');
			$('#passwordInput').val('');
			return;
		}
		$.post('login.php',$('#loginForm').serialize(),function(o){
			if(!o.status){
				messageDialog('错误提示',o.info);
			}else{
				$('#loginBtn').css('display','none');
				$('#logoutBtn').css('display','inline-block');
				$('#addBtn').css('display','inline-block');
				isEditable = true;
				listperson();
				$('#loginDialog').modal('hide');
			}
		});
	});
	$('#logoutSubmit').click(function(){
		$.post('logout.php',function(o){
				$('#loginBtn').css('display','inline-block');
				$('#logoutBtn').css('display','none');
				$('#addBtn').css('display','none');
				isEditable =false;   
				listperson();
				$('#logoutDialog').modal('hide');
		});
	});
	
		$('#searchSubmit').click(function(){
			$.post('searchPerson.php',$('#searchForm').serialize(),function(o){
					var persons = o.persons;
					table.innerHTML = tableHeader;
					var oper = $('<span>',{html:'编辑'});
					if(isEditable){
						oper.appendTo(table.rows[0].insertCell(-1));
						};
					for(var i=0;i<persons.length;i++){
						var person = persons[i];
						var row = table.insertRow(-1);
						eachperson(person,row);
			}
			$('#searInput').val('');
		});
	});
	function setNull(){
			$('#nameInput').val('');
			$('#phoneInput').val('');
			$('#qqInput').val('');
	}
	$('#addSubmit').click(function(){
		if($('#nameInput').val().trim()==''||$('#phoneInput').val().trim()==''||$('#qqInput').val().trim()==''){
			messageDialog('非空提示','所有项目都必须填写');
			setNull();
			return;
		}
		$.post('add.php',$('#addForm').serialize(),function(o){
			if(!o.status){
				setNull();
			}else{
			listperson();	
			setNull();
			$('#addDialog').modal('hide');
			}
		});
	});
	$('#allBtn').click(function(){
		listperson();
	});
	
	listperson();
	
	function listperson(){
		table.innerHTML = tableHeader;
		
		var oper = $('<span>',{html:'编辑'});
		if(isEditable){
			oper.appendTo(table.rows[0].insertCell(-1));
		};
		
		$.post('listperson.php',function(o){
			var persons = o.persons;
			for(var i=0;i<persons.length;i++){
				var person = persons[i];
				var row = table.insertRow(-1);
				eachperson(person,row);
			}
		});
	}
	function eachperson(person,row){
		var nameSpan = $('<span>',{html:person.name});
		if(isEditable){
			nameSpan.editable({
				url:'updateperson.php',
				name:'name',
				pk:person.id,
				validate:function(v){
					if(!v.match(/^.+$/)){
						return '姓名不能为空';
					}
					return false;
				}
			});
		}
		nameSpan.appendTo(row.insertCell(-1));
		
		var phoneSpan = $('<span>',{html:person.phone});
		if(isEditable){
		phoneSpan.editable({
				url:'updateperson.php',
				name:'phone',
				pk:person.id,
				validate:function(v){
					if(!v.match(/^\d{11}$/)){
						return '手机号码只能是11位数字';
					}
					return false;
				}
			});
		}
		phoneSpan.appendTo(row.insertCell(-1));
		
		var qqSpan = $('<span>',{html:person.qq});
		if(isEditable){
			qqSpan.editable({
				url:'updateperson.php',
				name:'qq',
				pk:person.id,
				validate:function(v){
					if(!v.match(/^\d{5,16}$/)){
						return 'QQ只能是5-16位数字';
					}
					return false;
				},
			});
		}
		qqSpan.appendTo(row.insertCell(-1));
		 
		if(isEditable){
			var delspan = $('<span>',{html:'删除'});
			delspan.addClass('delspan');
			delspan.click(function(){
				confirmDialog('删除确认','你确定删除该联系人['+person.name+']？');
				$('#confirm').click(function(){
					var index =row.rowIndex;
					$.post('deleteperson.php',{'pid':person.id},function(o){
						if(!o.status){
							messageDialog('错误提示',o.info);
						}else{
							table.deleteRow(index);
							dialog.modal('hide');
						}
					});
				});
			});
			delspan.appendTo(row.insertCell(-1));
		}
	}
	
})


